/**
 *  配置请求地址的基地址
 * @type {string}
 */
axios.defaults.baseURL = 'http://geek.itheima.net'

/**
 * 配置axios请求拦截器
 * 配置拦截器地址：https://www.axios-http.cn/docs/interceptors
 *
 */
axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    // 在请求头headers上同一携带token令牌字符串
    const token = localStorage.getItem('token')
    token && (config.headers.Authorization = `Bearer ${token}`)
    return config
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error)
})

/**
 * 配置axios响应拦截器
 */
axios.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    const success = response.data
    return success;
}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么，例如对401身份验证错误做出处理
    if (error?.response?.status === 401){
        // 对用户显示提示信息
        getAlert(document.querySelector('.manage-alert'),error.response.data.message,false)
        setTimeout(() => {
            // 清除token
            localStorage.removeItem('token')
            // 返回登录页面
            location.href = '../login/test.html'
        },1500)
    }
    return Promise.reject(error);
});